#ifndef CUSTOMERMANAGER_H
#define CUSTOMERMANAGER_H

#include "CustomerData.h"
#include <QString>
#include <QDebug>

class CustomerManager {
public:
    CustomerManager() {

    }

    // 添加新客户
    bool addCustomer(const QString& name, const QString& email) {
        if (name.isEmpty() || email.isEmpty()) {
            qDebug() << "客户名或邮箱不能为空";
            return false;
        }
        // 可以添加更多的验证逻辑，比如检查邮箱格式
        return customerData.addCustomer(name, email);
    }

    // 删除客户
    bool removeCustomer(int id) {
        if (id < 1) {
            qDebug() << "无效的客户ID";
            return false;
        }
        return customerData.removeCustomer(id);
    }

    // 更新客户信息
    bool updateCustomer(int id, const QString& name, const QString& email) {
        if (id < 1 || name.isEmpty() || email.isEmpty()) {
            qDebug() << "客户信息更新错误：无效的ID或字段为空";
            return false;
        }
        // 进一步验证，例如邮箱格式验证
        return customerData.updateCustomer(id, name, email);
    }

    QList<QPair<int, QString>> getAllCustomers() {
        return customerData.getAllCustomers();
    }

private:
    CustomerData customerData; // 数据访问层对象
};
#endif // CUSTOMERMANAGER_H